package basics;

public interface VectorMatrix extends Iterable<Double> {

	int length();

	int length(int d);

	int dimesnsion();

	VectorMatrix minus(VectorMatrix m);

	VectorMatrix minusEqual(VectorMatrix m);

	Matrix times(VectorMatrix m);

	Matrix timesEqual(VectorMatrix m);

	VectorMatrix timesCopy(double d);

	VectorMatrix add(VectorMatrix m);

	VectorMatrix addEqual(VectorMatrix m);

	VectorMatrix transpose();

	VectorMatrix times(double d);

	double get(int... i);

	void set(double v, int... i);

	VectorMatrix pow(int i);

	VectorMatrix divide(VectorMatrix m);

	VectorMatrix divideEqual(double d);

	double sumAllElements();

	double max();

	String toString();

	Vector getColumnVector();

	Vector getRowVector();

	double norm2();
}
